package com.example.demoexcel.controller;

import com.alibaba.excel.EasyExcel;
import com.example.demoexcel.model.Person;
import com.example.demoexcel.service.PersonService;
import lombok.SneakyThrows;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author 赵恒
 * @date 2023/6/23
 */
@RestController
@RequestMapping("person")
public class PersonController {

    @Resource
    PersonService personService;

    /**
     * 下载到本地
     */
    public void exportExcel() {
        personService.excludeOrIncludeWrite();
    }

    /**
     * 文件下载（失败了会返回一个有部分数据的Excel）
     * <p>
     * 1. 创建excel对应的实体对象 参照{@link Person}
     * <p>
     * 2. 设置返回的 参数
     * <p>
     * 3. 直接写，这里注意，finish的时候会自动关闭OutputStream,当然你外面再关闭流问题不大
     */
    @GetMapping("download")
    public void download(HttpServletResponse response) {
        personService.download(response);
    }
}
